package com.webframe.service.def;

import java.util.List;
import java.util.Map;
public interface IMenuService {
    
	/**
	 * @function:插入或修改菜单
	 * @param  保存菜单信息的map,map中必须包含表名,和主键字段名
	 * @return 插入成功返回true,失败返回false
	 * @throws Exception
	 * @author zhangtiebiao
	 */
	public Boolean doInsertOrUpdate(Map<String,Object>object) throws Exception ;
	/**
	 * @function:删除菜单
	 * @param  菜单ID
	 * @return 删除成功返回true,失败返回false
	 * @throws Exception
	 * @author zhangtiebiao
	 */
	public Boolean doDeleteMenuByID(String menuID)throws Exception;
	/**
	 * @function:删除角色信息
	 * @param  菜单ID
	 * @param  角色ID
	 * @return 删除成功返回true,失败返回false
	 * @throws Exception
	 * @author zhangtiebiao
	 */
	public Boolean doDeleteRole(String menuID,String roleID)throws Exception;
	 /**
	 * @function:增加新的角色
	 * @param  保存角色信息的map,map中必须包含表名,和主键字段名
	 * @return 增加成功返回true,失败返回false
	 * @throws Exception
	 * @author zhangtiebiao
	 */
	public Boolean doInsertNewRole(Map<String,Object>object)throws Exception;
	/**	
	 * @function:根据Pid查询所有子菜单
	 * @param  PID
	 * @return List,pid下的所有子菜单 
	 * @throws Exception
	 * @author zhangtiebiao
	 */
	public List GetMenusByPID(String PID)throws Exception;
	/** 
	 * @function:根据menuId查询具有的所有权限
	 * @param  menuID
	 * @return List,menuID具有的所有角色信息
	 * @throws Exception
	 * @author zhangtiebiao
	 */
	public List getRolesByMenuID(String menuID)throws Exception;
	/**	
	 * @function:判断是否具有子目录
	 * @param   menuID
	 * @return  String,"true"有子目录,"false"没有子目录
	 * @throws  Exception
	 * @author  zhangtiebiao
	 */
	public String hasSubMenus(String menuID)throws Exception;
	/**
	 * @function:菜单的排序操作
	 * @param   保存菜单信息的map,map中必须包含表名,和主键字段名
	 * @return  返回调整Position(排序位置)后的map
	 * @throws  Exception
	 * @author  zhangtiebiao
	 */
	public Map<String,Object> doSort(Map<String,Object>object)throws Exception;
}
